﻿using NHibernate.CriteriaBuilder;
using Acaweb.Model.Entities;
using Acaweb.Model.Entities.DatosCompuestos;

namespace Acaweb.Componentes.Criterials
{
    class CursosCriterials : CriteriaRecorder<CursosCriterials, Cursos>
    {
        private ICriterionProperty<int> _CursosByPlanEstudio;
        private ICriterionProperty<int> _CursosByMateria;
        private ICriterionProperty<PeriodoAcademico> _CursosByPeriodoAcademico;

        public virtual ICriterionProperty<PeriodoAcademico> CursosByPeriodoAcademico
        {
            get
            {
                if (this._CursosByPeriodoAcademico == null)
                {
                    this._CursosByPeriodoAcademico = new CriterionProperty<PeriodoAcademico>("PeridoAcademico", this);
                }

                return _CursosByPeriodoAcademico;
            }
        }

        public ICriterionProperty<int> CursosByMateria
        {
            get
            {
                if (this._CursosByMateria == null)
                {
                    this._CursosByMateria = new CriterionProperty<int>("Materia", this);
                }

                return _CursosByMateria;
            }
        }

        public ICriterionProperty<int> CursosByPlanEstudio
        {
            get
            {
                if (this._CursosByPlanEstudio == null)
                {
                    this._CursosByPlanEstudio = new CriterionProperty<int>("PlanEstudio", this);
                }

                return _CursosByPlanEstudio;
            }
        }

        public CursosCriterials() { }

        public CursosCriterials(ICriteriaRecorder parent)
            : base(parent) { }
    }
}
